Fix handling of devid_end when devid is an integer, but not present as a device.
authoremellor@leeni.uk.xensource.com <emellor@leeni.uk.xensource.com>
Fri, 25 Nov 2005 17:05:45 +0000 (17:05 +0000)
committeremellor@leeni.uk.xensource.com <emellor@leeni.uk.xensource.com>
Fri, 25 Nov 2005 17:05:45 +0000 (17:05 +0000)
Signed-off-by: Ewan Mellor <ewan@xensource.com>
tools/python/xen/xend/server/blkif.py

index d1b2fbbd7f7d4b8de8825dfe8d1a74af36a8dc07..e41b23981724f8237eafebddbec7c15b0c559486 100644 (file)
@@ -93,10 +93,11 @@ class BlkifController(DevController):
         try:
             DevController.destroyDevice(self, int(devid))
         except ValueError:
-            devid_end = devid.split('/')[-1]
+            devid_end = type(devid) is str and devid.split('/')[-1] or None
+
             for i in self.deviceIDs():
                 d = self.readBackend(i, 'dev')
-                if d == devid or d == devid_end:
+                if d == devid or (devid_end and d == devid_end):
                     DevController.destroyDevice(self, i)
                     return
             raise VmError("Device %s not connected" % devid)